class Dog:
    # def __init__(self):
    #     self.name = None
    def __init__(self, name='小白', age=12, color='白', sex='女'):  # 当我们创建对象时，自动会调用此方法  对象初始化
        self.name = name
        self.age = age
        self.color = color
        self.sex = sex
    def showInfo(self):
        print(f'我叫{self.name}，是一个{self.color}的{self.sex}性小狗，今年{self.age}岁')
    def set_name(self, name):
        self.name = name  # 这种写法没有问题，但是python不建议这个干，
        # 需要我们在__init__里面进行成员变量初始化
    def show_name(self):
        print(f"此狗的名字叫{self.name}")
    def show_name1(self):
        print(f"此狗的名字叫{self.name}")


dog2 = Dog(age=12, color='黑色', sex='男')
dog2.showInfo()

#
# dog1=Dog()
# print(dog1)
#
# dog1.set_name('小白')
# dog1.show_name()
# dog1.show_name1()
# dog1.set_name("小白")
# dog1.show_name()
